package task3;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/**
 * 准备一个HashMap集合，统计字符串"123，456，789，123，456"中每个数字字符串出现的次数并打印
 */
public class StatisticNumbers {
    public static void main(String[] args) {
        // 定义输入字符串
        String string = "123,456,789,123,456";
        // 统计每个数字字符串出现的次数，返回一个hashMap
        HashMap<String,Integer> hashMap = statistic(string);
        // 打印该hashMap
        show(hashMap);
    }

    private static void show(HashMap<String, Integer> hashMap) {
        // 遍历HashMap并打印
        Set<Map.Entry<String,Integer>> sets = hashMap.entrySet();
        for (Map.Entry<String,Integer> set:sets)
            System.out.println(set.getKey() + "出现了 " + set.getValue() + " 次");
    }

    private static HashMap<String, Integer> statistic(String string) {
        // 根据逗号进行划分为String数组
        String[] strings = string.split(",");
        // 定义HashMap
        HashMap<String,Integer> hashMap = new HashMap<>();
        // 遍历字符数组
        for (String s:strings){
            // 若存在直接+1
            if (hashMap.containsKey(s))
                hashMap.put(s,hashMap.get(s) + 1);
            // 否则插入
            else
                hashMap.put(s,1);
        }
        return hashMap;
    }
}
